import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.util.List;

public class RedisString {

    // 清空数据库
    public static void flushAll(Jedis jedis) {
        jedis.flushAll();
    }

    // mget 和 mset
    public static void test1(Jedis jedis) {

        jedis.mset("key1", "111", "key2", "222", "key3", "333");

        // 多个 key 的话，得到的结果还是匹配的，不存在的话为 null
        List<String> values = jedis.mget("key1", "key2", "key3", "key4");

        System.out.println("values: " + values);
    }

    // getrange 和 setrange
    public static void test2(Jedis jedis) {

        jedis.set("key", "lpy2569");

        System.out.println("修改前 key：" + jedis.get("key"));

        System.out.println("修改前 key 的 2-5 个值：" + jedis.getrange("key", 2, 5));

        jedis.setrange("key", 0, "llt");

        System.out.println("修改后 key：" + jedis.get("key"));

    }

    //  append 命令
    public static void test3(Jedis jedis) {
        jedis.set("key", "llt");

        jedis.append("key", "2569");

        System.out.println(jedis.get("key"));

    }

    // incr / decr
    public static void test4(Jedis jedis) {
        jedis.set("key", "100");

        System.out.println(jedis.incr("key"));
        System.out.println(jedis.decr("key"));
        System.out.println(jedis.incrBy("key", 2));

    }

    public static void main(String[] args) {

        JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");

        try (Jedis jedis = jedisPool.getResource()){
            flushAll(jedis);
            // test1(jedis);
            // test2(jedis);
            // test3(jedis);
            test4(jedis);
        }

    }
}

